unit PluginElems;

interface
uses Windows;
type
TLT_UID=LPCWSTR;
TLT_UIDS=array of TLT_UID;


//tasks
function AddinLT_GetAllTasksCount():Integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_GetAllTasksCount';
function AddinLT_Task_IsPresent(id:TLT_UID):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_IsPresent';
//task title
function AddinLT_Task_GetTitle(id:TLT_UID):TLT_UID; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetTitle';
function AddinLT_Task_SetTitle(id:TLT_UID; title:WideString):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetTitle';
//task parent
function AddinLT_Task_GetParentUID(uid: TLT_UID):TLT_UID; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetParentUID';
function AddinLT_Task_SetParentUID(uid: TLT_UID; parent: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetParentUID';
//task children
function AddinLT_Task_GetChildsCount(id:TLT_UID):integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetChildsCount';
function AddinLT_Task_GetChildUID(id:TLT_UID; n:Integer):TLT_UID; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetChildUID';
//task state
function AddinLT_Task_GetState(uid: TLT_UID):Integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetState';
function AddinLT_Task_SetState(uid: TLT_UID; state:Integer ):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetState';
//task dates
function AddinLT_Task_GetDateBegin(uid: TLT_UID):TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetDateBegin';
function AddinLT_Task_GetDateEnd(uid: TLT_UID):TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetDateEnd';
function AddinLT_Task_SetDates(uid: TLT_UID; startDate:TDateTime; endDate:TDateTime ):Boolean;cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetDates';
function AddinLT_Task_GetDateCreate(uid: TLT_UID):TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetDateCreate';
function AddinLT_Task_GetDateModification(uid: TLT_UID):TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetDateCreate';
//task RTF Comment
function AddinLT_Task_GetRTFComment(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetRTFComment';
function AddinLT_Task_SetRTFComment(uid: TLT_UID; comment: PWideChar):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetRTFComment';
//task priority
function AddinLT_Task_GetPriorityUID(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetPriorityUID';
function AddinLT_Task_SetPriorityUID(uid: TLT_UID; priority:PWideChar):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetPriorityUID'; // "default" for default priority
//task order
function AddinLT_Task_GetOrder(uid: TLT_UID):Integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetOrder';
function AddinLT_Task_SetOrder(uid: TLT_UID; order:Integer):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetOrder';
//task reminder
function AddinLT_Task_GetDateReminder(uid:TLT_UID):TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetDateReminder'; // MaxDate if no date
function AddinLT_Task_SetDateReminder(uid: TLT_UID; date:TDateTime ):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_SetDateReminder'; // MaxDate if no date
//task categories
function AddinLT_Task_GetCategoriesCount(uid: TLT_UID ):Integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetCategoriesCount';
function AddinLT_Task_GetCategoryUID(uid: TLT_UID; category:Integer):PWideChar; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetCategoryUID';
function AddinLT_Task_AddToCategory(uid: TLT_UID; catUID: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_AddToCategory';
function AddinLT_Task_RemoveFromCategory(uid: TLT_UID; catUID: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_RemoveFromCategory';
//task projects
function AddinLT_Task_GetProjectsCount(uid: TLT_UID):Integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetProjectsCount';
function AddinLT_Task_GetProjectsUID(uid: TLT_UID; n:Integer):PWideChar; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_GetProjectsUID';
function AddinLT_Task_AddToProject(uid: TLT_UID; projectUID:TLT_UID):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_AddToProject';
function AddinLT_Task_RemoveFromProject(uid: TLT_UID; projectUID:TLT_UID):Boolean; cdecl; external 'lt_plugins.dll' name 'AddinLT_Task_AddToProject';

//task filter
function AddinLT_CurrFilter_GetTasksCount():Integer; cdecl; external 'lt_plugins.dll' name 'AddinLT_CurrFilter_GetTasksCount';
function AddinLT_CurrFilter_GetTask(n:Integer):TLT_UID; cdecl; external 'lt_plugins.dll' name 'AddinLT_CurrFilter_GetTask';

//task operations
function AddinLT_Task_Delete(uid: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_SaveChanges(uid: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_Insert(uid: TLT_UID;parentUID:TLT_UID;title:PWideChar;createDate:TDateTime;state: Integer;comment: PWideChar;startDate:TDateTime;endDate: TDateTime): TLT_UID; cdecl; external 'lt_plugins.dll';
//task history
function AddinLT_Task_GetHistoryCount(uid:TLT_UID):integer; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryUID(uid:TLT_UID; number:integer):TLT_UID; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryDate(uid:TLT_UID; number:integer):TDateTime; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryTaskText(uid:TLT_UID; number:integer):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryTaskDateBegin(uid:TLT_UID; number:integer ):TDateTime; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryTaskDateEnd(uid:TLT_UID; number:integer ):TDateTime; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryCommentary(uid:TLT_UID; number:integer):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryIsChangesCreated(uid:TLT_UID; number:integer):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryIsChangesStatus(uid:TLT_UID; number:integer ):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryIsChangesDates(uid:TLT_UID; number:integer):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryIsChangesCommentary(uid:TLT_UID; number:integer ):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Task_GetHistoryTaskState(uid:TLT_UID; number:integer):integer; cdecl; external 'lt_plugins.dll';
//calendar
function AddinLT_GetCurrDate():TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_GetCurrDate';
function AddinLT_GetMinDate():TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_GetMinDate';
function AddinLT_GetMaxDate():TDateTime; cdecl; external 'lt_plugins.dll' name 'AddinLT_GetMaxDate';
//other
procedure AddinLT_ChangesStart(); cdecl; external 'lt_plugins.dll' name 'AddinLT_ChangesStart';
procedure AddinLT_ChangesEnd(); cdecl; external 'lt_plugins.dll' name 'AddinLT_ChangesEnd';


//others
function AddinLT_ShowPopupCustom(text:PWideChar;delay:DWord):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Task_AddHistoryRecord(
                          uid:TLT_UID;
													RecordDate:TDateTime;
													ChangesCreated:BOOL;
													ChangesState:BOOL;
													ChangesDates:BOOL;
													ChangesCommentary:BOOL;
													TaskTitle:PWideChar;
													TaskState:Integer;
													TaskDateBegin:TDateTime;
 													TaskDateEnd:TDateTime;
													Commentary:PWideChar):TLT_UID;cdecl; external 'lt_plugins.dll';

function AddinLT_Task_DeleteHistoryRecord(uid:TLT_UID;n:integer):Boolean;cdecl; external 'lt_plugins.dll';
{


function LPCWSTR AddinLT_Task_GetCustomerUID(uid: TLT_UID );
function LPCWSTR AddinLT_Task_GetPerformerUID(uid: TLT_UID );
function BOOL AddinLT_Task_SetPerformerUID(uid: TLT_UID, LPCWSTR szPerformerUID );
function BOOL AddinLT_Task_GetRecurrence(uid: TLT_UID,
											  UINT* piRecurrenceType,
											  UINT* piRecurrenceDayType,
											  UINT* piRecurrenceDayCount,
											  UINT* piRecurrenceWeekCount,
											  BOOL* pbRecurrenceWeekMon,
											  BOOL* pbRecurrenceWeekTue,
											  BOOL* pbRecurrenceWeekWed,
											  BOOL* pbRecurrenceWeekThu,
											  BOOL* pbRecurrenceWeekFri,
											  BOOL* pbRecurrenceWeekSat,
											  BOOL* pbRecurrenceWeekSun,
											  UINT* piRecurrenceMonthType,
											  UINT* piRecurrenceMonthCount,
											  UINT* piRecurrenceMonthDay,
											  UINT* piRecurrenceMonthWeekType,
											  UINT* piRecurrenceMonthDayOfWeek,
											  UINT* piRecurrenceYearType,
											  UINT* piRecurrenceYearMonth,
											  UINT* piRecurrenceYearMonthDay,
											  UINT* piRecurrenceYearWeekType,
											  UINT* piRecurrenceYearDayOfWeek,
											  DATE* pdtRecurrenceEnd );
function BOOL AddinLT_Task_SetRecurrence(uid: TLT_UID,
											  UINT iRecurrenceType,
											  UINT iRecurrenceDayType,
											  UINT iRecurrenceDayCount,
											  UINT iRecurrenceWeekCount,
											  BOOL bRecurrenceWeekMon,
											  BOOL bRecurrenceWeekTue,
											  BOOL bRecurrenceWeekWed,
											  BOOL bRecurrenceWeekThu,
											  BOOL bRecurrenceWeekFri,
											  BOOL bRecurrenceWeekSat,
											  BOOL bRecurrenceWeekSun,
											  UINT iRecurrenceMonthType,
											  UINT iRecurrenceMonthCount,
											  UINT iRecurrenceMonthDay,
											  UINT iRecurrenceMonthWeekType,
											  UINT iRecurrenceMonthDayOfWeek,
											  UINT iRecurrenceYearType,
											  UINT iRecurrenceYearMonth,
											  UINT iRecurrenceYearMonthDay,
											  UINT iRecurrenceYearWeekType,
											  UINT iRecurrenceYearDayOfWeek,
											  DATE dtRecurrenceEnd );
function BOOL AddinLT_Task_RemoveRecurrence(uid: TLT_UID );
function BOOL AddinLT_Task_HaveRecurrence(uid: TLT_UID );


function BOOL AddinLT_Task_GetNotRead(uid: TLT_UID );
function BOOL AddinLT_Task_SetNotRead(uid: TLT_UID, BOOL bSet );

//function BOOL AddinLT_IsMinDate( DATE dt );
//function BOOL AddinLT_IsMaxDate( DATE dt );
//function SYSTEMTIME AddinLT_GetSystemTimeFromOleDate( DATE dt );
//function DATE AddinLT_GetOleDateFromSystemTime( SYSTEMTIME st ); // max date if error

{
function COLORREF AddinLT_GetColorNone();
function BOOL AddinLT_ShowPopupCustom( LPCWSTR szMurkupText, DWORD dwShowDelay );
}




// Contacts
// szUID can be "root"
function AddinLT_Contact_IsPresent(uid: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll';
//contact title
function AddinLT_Contact_GetTitle(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetTitle(uid: TLT_UID; title:PWideChar):Boolean; cdecl; external 'lt_plugins.dll';
//contact first name
function AddinLT_Contact_GetFirstName(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetFirstName(uid: TLT_UID; firstName: PWideChar):Boolean; cdecl; external 'lt_plugins.dll';
//contact middle name
function AddinLT_Contact_GetMiddleName(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetMiddleName(uid: TLT_UID; middleName:PWideChar):Boolean; cdecl; external 'lt_plugins.dll';
//contact last name
function AddinLT_Contact_GetLastName(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetLastName(uid: TLT_UID; lastName: PWideChar):Boolean; cdecl; external 'lt_plugins.dll';
//contact gender
function AddinLT_Contact_GetGender(uid: TLT_UID):Integer; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetGender(uid: TLT_UID; gender:Integer):Boolean; cdecl; external 'lt_plugins.dll';
//contact company name
function AddinLT_Contact_GetCompanyName(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetCompanyName(uid: TLT_UID; companyName:PWideChar ):Boolean; cdecl; external 'lt_plugins.dll';
//contact parent
function AddinLT_Contact_GetParentUID(uid: TLT_UID):TLT_UID; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetParentUID(uid: TLT_UID; parentUID:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
//contact children
function AddinLT_Contact_GetChildsCount(uid: TLT_UID):Integer; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_GetChildUID(uid: TLT_UID; n:Integer ):TLT_UID;cdecl; external 'lt_plugins.dll';
//operations
function AddinLT_Contact_SaveChanges(uid:TLT_UID):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_Insert(uid:TLT_UID; parentUID:TLT_UID; title:PWideChar; createDate:TDateTime):TLT_UID; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_Delete(uid: TLT_UID):Boolean; cdecl; external 'lt_plugins.dll';
//dates
function AddinLT_Contact_GetDateCreate(uid: TLT_UID):TDateTime; cdecl; external 'lt_plugins.dll';
//communications
function AddinLT_Contact_GetCommunicationsCount(uid:TLT_UID):Integer; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_GetCommunication(uid:TLT_UID; n:Integer; var comType:PWideChar; var comValue:PWideChar; var comment:PWideChar):Boolean; cdecl; external 'lt_plugins.dll';
//birthdate
function AddinLT_Contact_GetBirthDate(uid: TLT_UID):TDateTime;cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetBirthDate(uid: TLT_UID; date:TDateTime):Boolean;cdecl; external 'lt_plugins.dll';
//Photo
function AddinLT_Contact_GetFoto(uid: TLT_UID):HBITMAP; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetFoto(uid: TLT_UID; photo:HBITMAP):Boolean; cdecl; external 'lt_plugins.dll';



{
//contact job title
function AddinLT_Contact_GetJobTitle(uid: TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Contact_SetJobTitle(uid: TLT_UID; jobTitle:PWideChar):Boolean; cdecl; external 'lt_plugins.dll';

//////////////////////////////////////////////////////////////////////////
function LPCWSTR AddinLT_Contact_GetDepartment(uid: TLT_UID);
function BOOL AddinLT_Contact_SetDepartment( LPCWSTR szUID, LPCWSTR szDepartment );
function LPCWSTR AddinLT_Contact_GetProfession(uid: TLT_UID);
function BOOL AddinLT_Contact_SetProfession( LPCWSTR szUID, LPCWSTR szProfession );
function LPCWSTR AddinLT_Contact_GetManagerName(uid: TLT_UID);
function BOOL AddinLT_Contact_SetManagerName( LPCWSTR szUID, LPCWSTR szManagerName );
function LPCWSTR AddinLT_Contact_GetAssistantName(uid: TLT_UID);
function BOOL AddinLT_Contact_SetAssistantName( LPCWSTR szUID, LPCWSTR szAssistantName );
function LPCWSTR AddinLT_Contact_GetDetails(uid: TLT_UID);
function BOOL AddinLT_Contact_SetDetails( LPCWSTR szUID, LPCWSTR szDetails );
function LPCWSTR AddinLT_Contact_GetHomeAddressCountry(uid: TLT_UID);
function BOOL AddinLT_Contact_SetHomeAddressCountry( LPCWSTR szUID, LPCWSTR szHomeAddressCountry );
function LPCWSTR AddinLT_Contact_GetHomeAddressProvince(uid: TLT_UID);
function BOOL AddinLT_Contact_SetHomeAddressProvince( LPCWSTR szUID, LPCWSTR szHomeAddressProvince );
function LPCWSTR AddinLT_Contact_GetHomeAddressPostalCode(uid: TLT_UID);
function BOOL AddinLT_Contact_SetHomeAddressPostalCode( LPCWSTR szUID, LPCWSTR szHomeAddressPostalCode );
function LPCWSTR AddinLT_Contact_GetHomeAddressCity(uid: TLT_UID);
function BOOL AddinLT_Contact_SetHomeAddressCity( LPCWSTR szUID, LPCWSTR szHomeAddressCity );
function LPCWSTR AddinLT_Contact_GetHomeAddressStreet(uid: TLT_UID);
function BOOL AddinLT_Contact_SetHomeAddressStreet( LPCWSTR szUID, LPCWSTR szHomeAddressStreet );
function LPCWSTR AddinLT_Contact_GetBusinessAddressCountry(uid: TLT_UID);
function BOOL AddinLT_Contact_SetBusinessAddressCountry( LPCWSTR szUID, LPCWSTR szBusinessAddressCountry );
function LPCWSTR AddinLT_Contact_GetBusinessAddressProvince(uid: TLT_UID);
function BOOL AddinLT_Contact_SetBusinessAddressProvince( LPCWSTR szUID, LPCWSTR szBusinessAddressProvince );
function LPCWSTR AddinLT_Contact_GetBusinessAddressPostalCode(uid: TLT_UID);
function BOOL AddinLT_Contact_SetBusinessAddressPostalCode( LPCWSTR szUID, LPCWSTR szBusinessAddressPostalCode );
function LPCWSTR AddinLT_Contact_GetBusinessAddressCity(uid: TLT_UID);
function BOOL AddinLT_Contact_SetBusinessAddressCity( LPCWSTR szUID, LPCWSTR szBusinessAddressCity );
function LPCWSTR AddinLT_Contact_GetBusinessAddressStreet(uid: TLT_UID);
function BOOL AddinLT_Contact_SetBusinessAddressStreet( LPCWSTR szUID, LPCWSTR szBusinessAddressStreet );
function DATE AddinLT_Contact_GetAnniversary(uid: TLT_UID); // MaxDate if no date
function BOOL AddinLT_Contact_SetAnniversary( LPCWSTR szUID, DATE dt );


function BOOL AddinLT_Contact_AddCommunication( LPCWSTR szUID,
													LPCWSTR szType, // start with "tel" - phone, "eml" - e-mail, "www" - link to web page, "fax" - fax, "msg" - messanger (ICQ)
													LPCWSTR szValue,
													LPCWSTR szComment );
function BOOL AddinLT_Contact_RemoveCommunication( LPCWSTR szUID, int nCommunication );
function DATE AddinLT_Contact_GetDateModification(uid: TLT_UID); // MaxDate if error

function UINT AddinLT_Contact_GetOrder(uid: TLT_UID);
function BOOL AddinLT_Contact_SetOrder( LPCWSTR szUID, UINT iOrder );
function BOOL AddinLT_Contact_IsFavorite(uid: TLT_UID);
function BOOL AddinLT_Contact_SetFavorite( LPCWSTR szUID, BOOL bFavorite );
function BOOL AddinLT_Contact_Delete(uid: TLT_UID);
//
//////////////////////////////////////////////////////////////////////////
}



//projects
function AddinLT_Project_IsPresent(uid:TLT_UID):Boolean; cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetTitle(uid:TLT_UID):PWideChar; cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SetTitle(uid:TLT_UID; title: PWideChar):Boolean; cdecl; external 'lt_plugins.dll';
//function AddinLT_Project_GetOrder(uid:TLT_UID):uint;cdecl; external 'lt_plugins.dll';
//ADDIN_LT_DLL BOOL AddinLT_Project_SetOrder( LPCWSTR szUID, UINT iOrder );
function AddinLT_Project_GetColor(uid:TLT_UID):DWORD;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SetColor(uid:TLT_UID; color:DWORD):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_IsGrouped(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SetGrouped(uid:TLT_UID; grouped:Boolean):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_IsFavorite(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SetFavorite(uid:TLT_UID; value:Boolean):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetCommentText(uid:TLT_UID):PWideChar;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SetCommentText(uid:TLT_UID; comment:PWideChar):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetParentUID(uid:TLT_UID):PWideChar;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SetParentUID(uid:TLT_UID; parent:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetChildsCount(uid:TLT_UID):integer;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetChildUID(uid:TLT_UID; number:integer):TLT_UID;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_SaveChanges(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_Insert(uid:TLT_UID; parent:TLT_UID; title:PWideChar; createDate:TDateTime):TLT_UID;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetDateCreate(uid:TLT_UID):TDateTime;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_GetDateModification(uid:TLT_UID):TDateTime;cdecl; external 'lt_plugins.dll';
function AddinLT_Project_Delete(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
//category
function AddinLT_Category_IsPresent(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetTitle(uid:TLT_UID):PWideChar;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetTitle(uid:TLT_UID; title:PWideChar):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetOrder(uid:TLT_UID):uint;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetOrder(uid:TLT_UID; order:uint):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetColor(uid:TLT_UID):DWORD;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetColor(uid:TLT_UID; color:DWORD):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_IsGrouped(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetGrouped(uid:TLT_UID; grouped:Boolean):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_IsFavorite(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetFavorite(uid:TLT_UID; favorite:Boolean):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetCommentText(uid:TLT_UID):PWideChar;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetCommentText(uid:TLT_UID; text:PWideChar):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetDateCreate(uid:TLT_UID):TDateTime;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetDateModification(uid:TLT_UID):TDateTime;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetParentUID(uid:TLT_UID):TLT_UID;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SetParentUID(uid:TLT_UID; parentUID:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetChildsCount(uid:TLT_UID):integer;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_GetChildUID(uid:TLT_UID; number:integer):TLT_UID;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_SaveChanges(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_Insert(uid:TLT_UID;
											  parentUID:TLT_UID;
											  title:PWideChar;
											  createDate:TDateTime):TLT_UID;cdecl; external 'lt_plugins.dll';
function AddinLT_Category_Delete(uid:TLT_UID):Boolean;cdecl; external 'lt_plugins.dll';

implementation

end.
